{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import datetime\n",
    "import pandas_datareader.data  as web\n",
    "import math\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib import style\n",
    "from sklearn import preprocessing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fcfe7708a20>]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD8CAYAAABn919SAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJztnXeYXGXZ/7/P9L59N5vsJptGKiQhCS1BwID0qgIiiIKgiC+Cii9FBAu+vCri608QgogIiKg0pRM6aRBCeiGVtM323dnZqWfm+f1xznPmzOzM7vTZmb0/15Vrd860ZzZnvnPP97kL45yDIAiCKH10xV4AQRAEkRtI0AmCIMoEEnSCIIgygQSdIAiiTCBBJwiCKBNI0AmCIMoEEnSCIIgygQSdIAiiTCBBJwiCKBMMhXyy2tpa3tLSUsinJAiCKHk+/vjjTs553XC3K6igt7S0YM2aNYV8SoIgiJKHMfZZKrcjy4UgCKJMIEEnCIIoE0jQCYIgygQSdIIgiDKBBJ0gCKJMSEnQGWPfY4xtYoxtZozdqBy7izF2kDG2Tvl3Vn6XShAEQQzFsGmLjLHZAK4BcAyAIIBXGWMvKVffxzn/TR7XRxAEQaRIKhH6DACrOOdezrkE4F0AF+Z3WQRBjAYiEY6nP9qHPl+o2EspC1IR9E0APscYq2GM2QCcBaBZue67jLENjLE/M8aq8rZKgiDKjv3dXvzz4/3472c24g9v7Sj2csqCYS0XzvlWxtj/AngDgAfAegASgD8C+DkArvy8F8BV8fdnjF0L4FoAGD9+fM4WThBE6eILhnHir95WL29pdRdxNeVDSpuinPNHOOdHc84/B6AbwA7OeRvnPMw5jwB4GLLHnui+SznnCzjnC+rqhm1FQBDEKKDTE1B/XzK9Hmv29sAfChdxReVBqlku9crP8QAuAvAUY6xRc5MLIVszBEEQw9I1EAQAPHLlAlx27HgEpAjW7usp8qpKn1Sbcz3DGKsBEAJwPee8hzH2OGNsLmTLZS+Ab+VpjQRBlBk9iqBX202YUu+AXsewfGcnTphcW+SVlTYpCTrn/MQEx67I/XIIghgNdGkE3WkxYkajExsO9BV5VaUPVYoSBFFwugdkD73abgIATKlzYFe7p5hLKgsK2g+dIIjRzeubD2P9gV6EI4BJr4PDLEvQlHoHnl93CAd7fahzmGEyUKyZCfRXIwiiYFz7+Me4/+1d6B4IoMpuBGMMADC5zgEAWHTPW7j7pS3FXGJJQ4JOEETe8QYlXPbwKvXyvm4v6p0W9fL8CdG6xHX7ewu6tnKCBJ0giLzz6PK9WLGrS728anc35o2vVC/Xuyx446bPAQCaqm0FX1+5QIJOEETeOdTrG3TsmInVMZenNjhxVFMFBgJSoZZVdow6QfcGJXywo7PYyyCIUUWi5ltzmioHHbOZ9PAGqGI0U0adoP/29U9x+SOrsZ58OoIoGIkEfVylddAxu8mAgSBF6Jky6gS9xyufWB/u6S7ySghi9OBOIOg6HRt0zGY2wBukCD1TRp2gW4zyS/5wLwk6QRSKVPud20168tCzoGQEfcsht9r/IRGrdnfhHx/tH/ZxujzyY3QP8VgEQeSWPl8IF84bh68eK7fQPn/u2IS3s5koQs+GkqgUDUoRnPX797GwpQr//PYJCW9z6VI5x/Xihc0Jrxd0KSXHdNIQRGHgnMPtlzC20oKbT5+O286aAXOSSlC7WY+BoATOuVp0RKROSUTomw/JTXt2dQxk/VgiQvfRxgtBFARPQEI4wlFhNQIA7GYDDPrE0mMzGcA54A9FCrnEsqEkBP3jz+Q+yTMbXVk/lmisTxE6QRSGXiURQQj6UNjNegCgTJcMKQlBP9AjFyWkckKEwrGf7B39AVz84Eoc7vMjKEXg9ssnio+moxBEQehX3nMuy/DvX5tJdoEpFz0zSkLQ7zpvFibV2RGQwth4oA8XP7gSbW6/er1WxLWR9wPv7MTCu5fhw73deHTFHniU3XObSQ8fRegEURDE+86ZgqDbTRShZ0NJCDoAVFqN8IcieGd7Oz7c243bn9uoXqfNftEK9W9f/zT6ABxqOlSd0wwpwhGUyKcjiHzjCciWi8MyfA5GldIfXex1EelRMoJuMerhD4UhNr4P9UYj9E7Nf75X88leaTOpv4cjXI3eax1mAKAonSAKgLBcRO/zoWiqkqtH9/d487qmcqVkBN1s0CEgRdSTI6ixWbQTxD/YGe3TUm2PfsXr8YbUr3G1DlnoyUcniPzx1rY2vLKxVWO5DC/ojRVWGHQM+7tJ0DOhZARdROj9ysnh1VSTHdb46T95YTM2HJD7tGgj9PZ+v2q5iAjdSz4dQeSNq/6yBtc9uRaeNCJ0vY5hbKUV+3sGd2ckhqckCosAWdC1EfqAxi453OePuW1rnx9HNcXuqr+/oxMNLrmhflTQKUIniHzw8Hu71d89AQk6JicjpEJztRUHyHLJiJKJ0M0GHfyhMDx+eYNlICBXkwGygGsRjYAiyvWCf318AABQ61Q8dLJcCCLntLn9uPvlrerlfr8Eh9mQcuVnU6UN+7spQs+EkhF01XJRInQpwlUf/XCfD07N1zmR0hiQwnCaDVh92xKcOLVWvb5OeOgUoRNETtnbOTBo3oAnIKWUsihorrai0xOg92cGlIygi01Rj8Y79wbC2NnuwdvbOzCxzq4eF556IBTBUc0VaHBZMKXeoV5PlgtB5IeTf/MOfvDP9THHPEqEnirNygg6sl3Sp3QEXfHQtX2VPQEJf1u9DwBw9PjokNnDfXLWS0CKwGyQfTsxVRyI5rr6QrQpShC5QtJknjVXW2Ex6mDUM3gCUko56IKmKlnQKXUxfUpG0EUf866BIOqc0QjbF5JgNepx61nT1dt2KGmM/lBY7eo2bYxTvV7YMwNUXkwQWRGJcFXIezXB1uIpdfj2SZMRCnO4/SHY04rQlVx08tHTpmQEXUTaASmCMUq2iicgwRcMo95lhtmgxx3nzERLjQ0BZbMzIEVgMcr3mzU22thLRAseaqRPEBnTPRDEmf/3Pi5ZugqhcCRmxkC906y+97o8QTjMqWW4AECdwwyzQUeWSwaUjKCLCB0AGitkQfcGJXiDYViVE+fqxRMxe1yFWtIfkKIRumj6AwBWox46BjU/liCI9HllUyu2t/Xj4896cN0Ta/Hihlb1uosXNsOivPd6vUFV3FOBMYamKitF6BlQOnnohugJMbFW3gAdCIThC4VjThaTsnkKCA89+kHwiwtmo3sgCMYYHGYDRegEkQWiLS4ALNvahmVb2wAAr954IsZVWtX35UAwnHIOuqC52kYeegakFKEzxr7HGNvEGNvMGLtROVbNGHuDMbZD+Vk13ONkg1kTobeogi7BH4pG6EA0GwaQs1zMmusuP24CblgyFYDc+a2fInSCSIlIhMMfV7fh9odgMuhQbTfFHK9WKrS1gZb2G3IqNFfZqPw/A4YVdMbYbADXADgGwBwA5zDGpgK4BcCbnPOpAN5ULucNbdrTzEYXDDqGXR0e+EJhWE1aQdcjKIXBOY+xXBI9nugCRxDE0PzPK1sx/Y5XYzJZ3D4JLosR4UhsAZ/IItMKujUNywWQN0bdfinl4dKETCoR+gwAqzjnXs65BOBdABcCOB/AY8ptHgNwQX6WKKPNI59QY8Oc5kqs2NUFXzA2QjcZdAiGI5AiHBGOpN6dw0KWC0Fo4ZzHiLM/FMYRt7+Cf67Zj4ff3wMAWLa1Xa3QdvtDcFkN6n2EFWpUxstp972saVouYyrkTJeOfv8wtyS0pCLomwB8jjFWwxizATgLQDOABs55KwAoP+vzt0xgXKVV/b3CasQJk2uw4UAvWvv8MSeLSa9DUIqoXw+HitCX7+zC2n09+Vw2QZQMtz23CZNve1m9fKDHh2A4gluf3ai+j779xMd4X6kEdftCcFmM6mjIZ687AZ/+4kz1/rGWS3qCLqaTUYSeHsMKOud8K4D/BfAGgFcBrAeQcmjLGLuWMbaGMbamo6Mj44Vq+0AwxnDazAZEOGKyXABZwCM8mmM+lKADwEUPrMh4TQRRTjz1oVykJ7LEWvvkLBMpwqHXRd9/ohLb7Zfgshrxx8uPxqNfX4gquwkmzfstG8ulkgQ9I1LaFOWcP8I5P5pz/jkA3QB2AGhjjDUCgPKzPcl9l3LOF3DOF9TV1WW12D9+9Wjcee5MAMCR4yowVklfjInQlROqX2niZTYkPpG0jbn6vCGaXkQQCtf/bS08AQmtmiEy2jYZolq73xeCy2JAjcOMU6YP/oKejeUiInRtJg0xPKlmudQrP8cDuAjAUwD+DeBK5SZXAnghHwvUcuaRjfjGooliTZiklPPHpy0CUIdBa7NjtBzU9Fue87PXcee/N+dlzQRRaryxpQ2z73wNP3pmAwDApRTiLfv+STDpdWoltuyhJ2+6pU01JsulMKSaS/QMY6wGQAjA9ZzzHsbYPQD+wRi7GsA+AF/O1yKTIXbTYy0X+fc+n1y1lmxTtMIWeyK+92nmdhBBlDOv3vg56HUMDS4Lahwmdd6n2y/FzByIJ9ZySS9t0UURekakarmcyDmfyTmfwzl/UznWxTlfwjmfqvzszu9SByN8NqM+6u+JCF18sifz7v7wlXlY2BJNnR9XZU14O4IYzbTU2DC20qoOh6lxmPCvjw9gZ3s/glJkyLFyFZroPV3LRa9jcFoMFKGnScmU/ieiUomytQVCqqArn+zJTqR6lwWXHzdBvaydS1oo3t7Wju2H+wv+vAQByJO+7nll26A8csHDX1uAl793Yswxsdd0yUOrAETn8yZC+95L13IB5Pc3CXp6lLSgJ/LZzGqELov8ULvrOk3mTGd/YQXdG5Twjb98hHP/8AH6/SH8btmnMUUbBJFvbv7Xejz47i6sV2bwxjO+2jaowlM04OpSforZAsORbpYLIL+/cyHoR971Gr7+6IdZP04pUNKCfuJUOWvmpGnR7BkRofcO46EDwJIZ9bh0YTOuPH4C3H5pUGlzPnl7m+zZB6UI7nllG363bAde29xWsOcniE7FCw9KEYQSBBOiTbWWh65YEHO5ZhhBFwFWsuSEoXBZjDHzDxJx/v3LcdVfPhryNv1+Ce9sHx17ZCUt6NPGOLH7l2fhlGnRlCmzPtZDH+qrns1kwD1fPArTxsiFEV2a9p/5ZuPBPvV3MeQ6zBN/9SWIfBCQ5ACmeyCYsK9RZYIMlvkTqvD1E1rUy0NZLgDw2FXH4NQZDaixpxbJa9H2ZQLkytUX1h2M+Sa7fn8v3tqWMGNavc9ooqQFHQB0utjBs4M89BS+6jW45JPtkwJWjYo8eQDYpvjoJn1qQ3QJIhcEQrIwdnkC6hzeH589Qy26i39vCZo0CQTDWS7HTarBn65cEFOYlComgy6mPuTrj36I7/19HT7+TH6fRpJ4/1oe+WBP2s9bypRM+9xUiaYtDr0pqmXRlFpMH+PEb17bjnOOGpvX9Qm0EdHBXur7TBSOPl8ID7y9Ez3eqB/+y5e3ApAF+N2bxw3pXYuZn8DQlma2mAx6dRA8AKzaLSfSeZWou9s79Dfq/d1e/Pq17Rk//yf7eqDXMRzVVJnxYxSako/Q44l66KJSdPiXaDHqce6csdjb5S3Yrnq/P4TpY5ww6aPr84doU5TIP3/+YA8eem+3Wv3Z3h/Ah3u6cdmx4zF7XAVqHGa1aC8RJx2RXcV3qpg1Ebo2Uvcr6xZWJYCEewA9wwj+cPzipa24q8QKDssuQtfmoVuN+pgeMEMxUxlRt63VjWMn1eRtfYJ+v4QqmwmT6qKWi2+U+X1EcYi3P9Z+1oOAFMH88amNNLAY9fjPdxfD7c9v8KMdVqMVZ/E+ETYRIBcgxW/i9miKkjJJm3T7QjGPUQqUXYRu1gp6Gv+JomPc1lZ3TtbhCUj45mNrsK8rcZN+T0CC02LAEQ3R4dW+IAk6kX+0+zczGl1qQDG90ZnsLoM4sqkCi6bU5nxtWuTOqfJ7QlSnAtFvsns6B9RjB3q8WLGrM8ZX79V8CBgy8PC9wTA6PQF4g6XTZrvsBF1E6EEpklbua73TjBq7CVtyJOhrP+vBsq1t+OE/1w+6rs8XwqFeH5wWI45oiH61pQidKARtbrnmYny1DRcvaFKPa2cOjATMymwDADEDqH2hMIJSBH9TukMCwIUPrMBlD6/Gc58cVI/1KPe5ZEFzRnammJdwoKd09rjKTtCrbCbYlcjckkbuK2MMMxpd2Nqam8rNiJKCuPVw7AfEtsNuzPnp63D7B0foARJ0ogAcdvtxzMRqvPejU/CVY8bjiuMm4PnrFyXtTFosRJYL5xxdA9HCv+U7O3HEj1/B7o4BdaSk4OWNrWi55SXs6vCodklDhUUeepNG4R7nHAOKoCf7lj0SKTtB1+sY5ileYLr9I2aOdWF7W39OKjZFt8d+v6ROeAGA1zXFQ654y4UEnSgA7W6/2pvFYtTj5xfMxtzmkZfJYdLLsw2kCI+J0Nftlytbv7l4Ir5z8mScMWuMet2bSk76858cRK83CJfFAKeShulPo0V2QJKnngEoqWHVZSfoALBAabqVbqe2mY0uBKUIdnUMDH/jYdBWuLn9Elbv7sJ3nvw4xveLcDkFTPSkIUEn8ok3KOH7T6/D3i4vmkugGZ2wT9fv78Xrm9ug1zFYjDpV3G8+YxosRj0evGI+Xr3xRDRXR1/T1lY3erwhVNlN6jf1dPaoBjTjKfeV0LDqshT0Lx4t+4Lpel+zlEyXzYf6hrnl8GgzAA71+nDJ0lV4eeNhLNsSjdBb+/zQ6xhe/K/FqLab4AvKEcTafT00cIPIOSt2duFZxWNenOcNzVwgBP2av67Byt1d+PoJLbArvWXsJn2MRTR9jAuLp0TTKT/a24PugSAqbSY1Vz6dqlHtQI/93eShF5Xmaht+/5V5+OtVx6R1v0l1DliMOmw6mP3GqNsX/YS/6el16u/9AUnNqPnSfPmDp6nKhmq7Cf5QGNsOu3HRAytw7xvb4faHsLOdujESuUHrQy9oqS7iSlJDCHqPN4TLjh2PH589QxVnMQtBywVzo0WBfb4QPtjZiXGVFtV6/eqfVg/5fC9taMUdz28CEN0Q1TG5QEnQ2ucb0YWAZZeHLjhvTvoVn3qdvDG6KccR+ra4Frlzx1cOaktqNerhC4Wx4YD83O9u78BD7+4GAOz5n7NSzqcniGQcVEbKLfv+52Jmf45UtEV3p81oAGNMtU+qbIMF/ZiJ1bjmxIkYX23DHS/IBUETa+1qtttw1sn1f1sLALji+Amq5TKpzoH9PV5wzrG9rR9n/O59TKy14+0fnoz3Pu3A/AlVsJsHy2g4wqFjKPj7duT/rxaY2WMrsPWQO6U+EUPh9oViel4A0UEcjcqGlBa9juGtbe144O2dAGI/BEqtuIEYmbT2+tDgMmNKfer55sVE+6EzQ/lWKyL0StvgxmGMMdx+9syYOQctNfaY9OVEFaWCibV2AMB3nlyLLz24EoC8r+YNhtHhCahNwPZ0DuDTtn587c8f4trH1wx6HH8ojIV3L8OLG1pTfq25ggQ9jtnjXOgPSFlvhLj90qDGRVctmojJdXacm+Dbg9i536tJkWqpkXtmHCihXfZi8PjKvTFfi4nBBKUI3t7egcaKkb8ZKtC27ahXqkCFOFcnsFwEjDHUKNePr7bBL0X98GSJBxc9sFxNWNjZ7lGPHzmuAgCwp2MA6/dH+8Z/4b73AADLd3YN8uZb+/zoHghiZ7sHq3Z3DfkhkmtI0OOYNVb+D8zWdnH75AG67//oFDx0xXzcfeFs3HrWDLz5g5PRokQCWrQn6OxxLhw/qQa//vIcALEDrYlYBgIS7nhhMy5duqrYSxnR/Hn5HnR6AphQYxv+xiMEbYQuOj+qHnoCy0XLby6eg3GVVswc68JsRZSBaB+YeNbuSzzkQyRK7OoYwNp9vQn/fp5AbCVpu9KSYPWeLly6dBXueWXbkGvNJSTocQixPZTlxofbH4LLYkBztQ2nzxqDrx47YcjbP/+dRWqPjRs+PxVPXXucmqNeSpVqhUa8mUbyRtVIQLS0uP3sGUVeSeqY9IPrSERPF23Hx0ScMq0ey2/5PJwWI+qdFvz2Yjk48qaYuviFmQ248vgJWDixGiaDDrc9txEd/QF8c/FE9TaNFbJ1Gp8O2a5MPxPZMdrZB/mGBD0Ou0kPk16H7oHsfGu3T1Inl6fC+BqbetIdPUHOo6+wGuE0G0ishiDRYAZiMHs7B7B4Si3qnYP3b0YqiTZuNx+SP5hOnJpe2qWwalKt9Th+cg1+ev5sGPU6teiq0mbElxc0485zZ+LNH5ykfjjGWy6iaZjo3FrIFOSyzXLJFMYYKm1GtQ9EpsgReuqCDgDnzx2H8+eOizlW7TDFVMkRscR/3SUGwznH7s4BnD+3ML3+c4UQdG2iyKkz6rFsazumptl3RqQuDhehL5pSg+U7u9QhHwDwxNXHYkd7P2rsZliMenxjkRyl71U89/jH7FAidHFuFtJDJ0FPQLXdlFUvZb/SPMhlzf7PW2kzqb3dicF4KEIfFjFirqVm8N7NSEakLdo0WSoPfHU+AlI47XRAMew6WXGRjgHXnzIFFqMey3d2YVxldPPYZNCpe2takkX97XED52lTtMhU2QYLemufDzc9vS6lajORg55uhJ54LcaYNqBELJ5A9MMuFz14yhGRAqvtG1QKiAjdajLEHHNm8L4S4psoQg9HOCIcMOp1+PZJk/G3bx6LE1KopLWYkgm6P+ZyIS0XEvQEVNsH2xy/eHErnvvkIN7QlO4nQ1SJpuOhJ6PSasx68ko5o/XQOz30d0qE2JQ7ctzgKHMkI1qYZzKcIh5rEvEFohG0Ua+DXsdSEnPtuuIzZ9rdsRE6CXqRqbQZBxfzKCdXhCcvOFq/vxf9/pAmQs+R5UKFRUnReuj0wZeYjQf7MK7SmrBcfiQjbJKTp2U/8k4V9ATDKoKqoKdn4ySL+uMtl/4C7vOQoCeg2m5CrzcYUy2qVzw7raBHIhzPf3IQoXAEnoCE8+9fjpueXq92WsxFhF5lM6HfL5GdkASth04ffInZ3TGAaWNKy24BgDEVFrxx0+dwxzkzs34s4cMn6rgYUiLodNshJPLQ/aEw+nwhVGje+/1+qWBTj0jQE1DvNCPCgTaNFya+/ml1df2BXtz49Dq8ubVNbYK/bn8vvv7oRwBy46GLEudUNkb9obBacTpa0EbotNeQmMN9PoypKJ10RS1TG5ww6rOXKTXLJaHlIgdp6T6P8NC1+2qiqnv+hNj5rLvas2/JnQopvQLG2E2Msc2MsU2MsacYYxbG2F8YY3sYY+uUf3PzvdhCMW2MGBgd7aeiUyL0F9YdxJTbXsZAQFLFZFfHAPZ1y/9h2j7KuclyUQQ9hejzd8t24IL7l2PLodyM0SsF+mMsF4rQtQSkMGb95FX0eEMYk6B/0GjCbNCBscSVoloPPR2sCaL+U38rtwQ4fVZDzG1zNat4OIZ9BYyxcQBuALCAcz4bgB7ApcrVN3PO5yr/1iV9kBJDfD3Vjo8TaVLv7+iEFOHY1+1VvbO9nQNqDxaOqCVTkQPLRbwRP23rj+kxAcj5xWv2dqvWkKhufXHDoayft1Tw+CU0uOQ+H70+itC1fNblxYByjo52QWeMwWrUJ8xyydRDN+p1MOqZGvVr0xPnxE2A+tEzGwoSaKUaQhoAWBljIQA2AGWtGBVWI8ZVWmMi9Hh6vSH1k3lv1wAMyqe7GEb7zHXH52RG4/wJVah1mPCdJ+XWnlPqHbjnoiOxoKUaK3d34bKHV+PK4yfgp+fPRljx9x94ZxcaKyy44viWrJ9/pOMLhVFlM6HPFyIPPY7PNI3eStVyySUOswG7Owews90TMxBbCLEpA2vHYtSrOiA+LI6bVI1pDU788atHw2LU48nVn6HTE4SuAAb3sE/BOT8I4DcA9gFoBdDHOX9dufpuxtgGxth9jDFz0gcpQZqrrWjti5bcazu2AUCHJ6BuhuzpHBjU+0XYNtli0Otw9eJJqHWYUeswY2e7B/e+/qn6vADw2MrPAMjtUWeNdeGkI+rwsxe3jIoqSn8oDItRj0qriTz0OPZqxh3WOcvq7ZkR46tteGtbO0797bsxx0NSZh46INsuwkMXG5/nzRkHxhjOPLIRp0yvx5+uXIjnr1+E6TnShKFIxXKpAnA+gIkAxgKwM8YuB3ArgOkAFgKoBvDfSe5/LWNsDWNsTUdHR84Wnm/qnJaY9KP43fEbnvoEO9pkC6TTE8SujqgdYjXqYc9B7qzgupMnY82PT8WaH5+K7592BFbu7sKKXZ24U2niz5iccdPa58f0MS58fVELQmGODQfKf4M0IEVgNugSp5qOcvZ2yYJe6zCVVJfFfDEhSaWsarlkMPTDatKrgZ2I0O3m3L330yWVV3AqgD2c8w7OeQjAswBO4Jy3cpkAgEcBJJz3xjlfyjlfwDlfUFeXfT5poah3mtWeDPe98ana3F7Ln5fvUX/XdkSsc5rzNqlEVPtd9vBqdSo558CGg31o7fNjbKUFc5tk/+6TJC1By4mAEqHXOc3UZjiOXR0ezBtfiTU/Pk3N6R7NiL0WADFphKEMPXRADt4GAoqgKz+L+bdORdD3ATiOMWZjskotAbCVMdYIAMqxCwBsyt8yC0+d0wxvMIyBgIT/e3NH2vfNF9oeE1pueWYDAOD0WWNQZZcjstGQ7eIPRWAx6jB/QhW2HXarHe5GC73eILYccoPHFbxxzrH9cD+ml2D+eb4w6KKC3aWpKs7GQ3eYDWpm24DyIZGLytZMScVDXw3gXwDWAtio3GcpgCcZYxuVY7UAfpHHdRacOmXaUEdc1Vc82qkqokPb+GF6NWfD2MrYza2zj2oEIPfrOOmIOrWZf1OVdVS03Q1IYZgNehw3qQYRDny0p7vYS8oJXZ4Abn9u47C9g779xMc46/fv47lPDsYcb+8PoMcbwrQS69+ST76xaKI6SEbb2iPTtEUAcFoM6Ff6CQlbdkQLOgBwzu/knE/nnM/mnF/BOQ9wzj/POT9SOXY559wz/COVDvXK17P4Ml4AePMHJ+Hz0+sBxKYmikyCfPqV2slGN58+DdedNFm9rB1511gRu6kEyFtnAAAgAElEQVRbrogIfXKdnLVQLq/5V69ux5Or9+GlIeZSegISVisfYNrRhUC0IVeuNufLgSq7CQ9/bQGAWEEPZrEp6rQY1X5CIkJPNDS6UFClaBJE3u7FD61Uj5kNOmz92RmYXOfAcZOqAcid2p64+liMcVnUCSaNeUwRY4ypk43mNFXG9OeodUZ/H1tpRXt/oKCtO4tBQJI9dDENPlDARkj5RKSghuOGlf97/SHc9e/N6BkIYvnOTginpdMTG3gcVj7YmqtLZ4ZoIagZIkI3GdL30J0WgyrowkPXDqUuNLRTkoQpCRro280GtYRYDNvt8QaxeGotVt22BN98TJ4Anu8UsT9/fSH8oTAWT62Nyb6p00ToYyss4Bw43OcfdlxXKeMPyVkuIuc/lfbGpYAuQTO4g70+3PDUJwCAv6zYi6YqK6psRlTbTYOswS5FsGrslK6opdqRa8vFiH5/CJxzdaOVIvQRCGMMP/zCEerl2eNcePra49TLY5XNSW0AdfvZM3DR0eOwKMX2m5ly0hF1OH3WGADRHhUAUOOIRuiNyvo2ZznseiTDOYdfidCNegYdixZ2lTo6tRlc9NhnXbH9QA70+HDunLEYW2kdFKF3e4KwGvUx5wcBOM0GVNtN+GhvdK9FCLohQw89FOYISBG1KnfEe+ijletPmYIHL58PALjj7JmYqtlgit+cBICJtXb89uK5OakQTYd65RuBNhqbN74SzdVW/Ow/Wwq6lkISCnNwLvp0MFiMegSk8ojQRdprWBOh9yXIs7/o6CbUOswJI/TqEmuXWwgYY7hkYTOWbW1TPwSDanOu9C0X0SLb7Q/BG5SgY7GJEoWGBH0IGGM4Y/YYfHT7qTh2Uk3MdSNp2O4lC5sBxG6KuixGfPHoJhzq85etjy6qdy2KZ2k26MooQpd/BjQWUnzHzdnjXJjTVIE6pxmdnkBM6mLXQBC1DhL0RMxrrkSEA629cjdVtX1uhpYLANz6zEbc//YuRDjyVoOSCuShp0AiT1xsTDqK6JcJbjr1CJw2swEzx8ZmNIgNoB5vcER9AOWKgCLeZkXQLZoy7FJHaIK2mZS2V81lx47Hz86bBcYY6hxm+EMRuP2SmnXVPRCI2VMhooi/0Tvb2/F/b+5Qs9IyTVsEgDcTFB4Wg+KrUQmz7Psn5WQqUbbodAxHNVUOOl6tWDDdA+Up6EK8xVdc2XIpjwhd9BcZ0FQ09vqCMBl02P7zM2KiwKYqeb9kf7cXjkYXGGQPfVoDpSwmokJpSX3vG5/GHM9E0LUBHWPAU9ccN8St80/x1aiESZQJM5IQHurKXV0FaQxUaAIJLZfyiNDV/iCB6Otx+0KotBoHfaUfr0SY+7q9OOf/fYCWGhva+wMYU0EReiKStbXOyENXHuusI8fg5+fPRk2RvxWRh17GiKyXn/5nCxbd8xZW7OpUr9t22I0nVn2W8H7vbG/Htx5fM+LFUfjlFiVCNxv18JdJhC4EPSZC94YSipGoTBYtlvd2eWE16vG1UdA+ORO0f8NFU6J7Y5l43zMaXXjxvxbj/suOLrqYAyToZY02y+Fgrw9f/dNq9fIVj3yIHz+/aVDbXwB45IM9eG1zG/70/u6CrDMd1u7rwQPv7AQQjdBVD92gi9lELGXUHtuBWA9dTLDS4kww6nByvQMNo3yoRTK0hT/nHjUWAPDdU6Zk/Hizx1UUdSNUCwl6GVNli81y4Bx4+D1ZpL1KQ6ET7nkLGw8kzlXf0T6yujn0+UK46IEV+NWr2xGUIuqm6GiI0Ls8Aazb35vULogfeabtLEjEohXfE4+ow5s/OAk/0NSclDIk6GWMXsfUknjB3S9vBRCtmAOAFzfGDqASrYBHWrpjmzs6tNsXDKtpi+UUoYfCETy6fI86rENkuTz8/h74QmF85ZjxCe/30BULYi6X4yZ4PmhwmjG5zjFiIuxsIUEvc7b9/MxBxzjnaHcHMKnOjkqbESt2dqnXRSJc7SsumhaNFAKaHHNPUFI/eEQ0WopZLpG4Xi1vbm3DT/+zBbs65KrQHqVEfd3+HsxpqsCSGQ2DHiMRtiIOWSglMqkOHcmU16shUuKw24+AFMHXjpuAC+eNU0fZAXJ3STHBZaRE6L9+bRtufXZDTBWoNyDh07Z+OM0GtZFaqWW5/OSFTZjz09exdl+P5mhspLi7cwBbW93YdNCdMDU1GfoyiTjzxcRaO0xFrOjMF+X3ioikiI0f0ZJ1Sr0T9U4LPAFJbdLf748Wr0iRkSHo97+9C099uD8m+t7b5cUTq/ZhakP067LFqEdrnx/3v72zWEtNmU5PAH9d+Rn6AxLueXmbelz795/bXAmDjuG25zbCE5Bw9ITUBT2fPfnLgddu/Bw23vWFYi8j51Ae+ijg/R+dgj5fSM1o+f2bO9BcbcXxk2vQ3i/70u39AUw0G2JEMzTSLBdNhP4/yl6A6IMORKt3f/3adlyfRdZCIRDTpBpcZhzW7A2IVqwA8KX5TWhwmfHa5jZYjXqcNnPMkI9pNugQkCJ48PL5+MLM1KyZ0Uo5RucACfqooLnahmZELRS3X8K5c8ZCr2Nqalub24+JtXbVbgEQ8/tIQNunZY/SefCm06LZCbs7BwbdZ6SypVUW9EWTa/HG1jbs6vDApNfBrUToO+8+Ewa9DjManTjY68MFc8cN22bixf9ajA/3duOM2UMLP1G+kKCPIuo1ecmif4XYUBQZJEElQreZ9CPCQw9qvjEIWwiQUzAXtlSpbYwBIKyxiMIRrkbsgDzdZ9PBPhw3qQYrdnVijMuCSXXFq/T99HA/GissmFBjR79fwpJ73wUAXL14IuwmvbpZN39CNV78rxNTesypDc6YjqDE6KM8v3cQCWnUCPr4ajsAoE5Jb/v9mzvw2Iq9GkE3QAoX33Lp8UYHEXRphhIAQIU1Ns/+11+ag6Oa5Jmq8e1kb39uIy5dugrbD/fjsodX44pHPszTilPjUJ9PHlBhj80r39rqVsvJCSJdSNBHETpNxCoidJfFgDqnGbs6BnDnvzerUbndPDIidO3ghq64IQ7xVZNjK6246VTZgokfkC1mbj6sVL9qW80Wg9Y+P8ZUWAcVCq3Y1aV28COIdCFBH2VctWgigKigM8bw2DeOUa8XhSx2k2FEeOjaUWGdntgIvSpBGbwY7h0foYtWwv/6+AAAYNqY4lkTnHO09vnRWGEZVM0LJC7lJ4hUIEEfZdx+9gx8csdpsJmiUeDMsS786otHAYiOOXOYDSMiQo8V9PgIfbAYitcVn49eGRcJF3MQRo83hKAUwRhXYkEfCS2ZidKEBH2UodcxVCUYTdakTIcXFYo2sx6hEeCh92mm9HT0B2I2OhP1NRGNl3xxgh6I+3CKv76QtPbJdlBjhSXGNhKvjSJ0IlNI0AkA0UKUnUpDLrtpZETo2jmanZ4gzAadmr6XKI1PFfRgrGB7lPzuxgoLGlzmgleUPr5yL1pueQlBKYKVu+RWC5PrHah3mdFSY8MfLpunvp5EHRUJIhVI0AkA0TF7InocKZuibr9W0AMwG3RY+rX5cFoMmDV28NAOi0k+peMj8IGAhBMm12DlrUtwzMSagvd8+fVr2wHIWTtPfbgPC1uqcESDE2aDHu/cfArOOWqsOi0+kZVEEKlAgk4AAMwGPWwmvbrxaDcbRozlUuc0q2PWTAYdTphci413nZ4w59qk10HHgOU7O9Fyy0vYcKAXgJyHLiJgq7HwPV/EX7J7IIhDvX7MbR5cxi8pjbqqKUInMoQEnVDRbtA5zAaEI3xQN8BC4/ZJqLIZ8c3FcnZOfKZLPIwxWI16rFBsjfP+sBxvbWtDvz8q6Bajvmgeent/AL5QOKFPLr4RJdrjIIhUIEEnVMQmI2PROZ2hIjfo6vPJY9emKTNRwyl8wFiMsa1jX1zfioGgBIclKuiFjtDFVu6+bjkfPlGuuSjkIsuFyBQSdEJFbMaZ9DqYlNLzYtsufb4QXBajmjefCvGCvqXVDU9chO4PRQpaXCSe6TOl34xrqAidLBciQ1ISdMbYTYyxzYyxTYyxpxhjFsbYRMbYasbYDsbY04wxCitKHK2giwnooSIPjHD75Qh9TBrzMa2mWEHfdrgfUoRrInT5tC/kxqj47PhsiAg9Kuj0ViIyY1hBZ4yNA3ADgAWc89kA9AAuBfC/AO7jnE8F0APg6nwulMg/ojeKyaBTm0MVO9OlzxeCy2qMaVswHFZj4mk9QigtBvn64WyX1zYfxkPv7kr5eZMhhSPqbNB9XULQB0fhwk0iD53IlFQtFwMAK2PMAMAGoBXA5wH8S7n+MQAX5H55RCFRI3SDxnIpwqbons4BvLDuIKRwBP1+SfX2//KNhfj7tccNe/9kgj61Xu6uKCL44apFv/X4x/ifV7YNeZtU6B4IqhG6aPvrsg6O0L+vtAK2m2h8HJEZw9YYc84PMsZ+A2AfAB+A1wF8DKCXcy76mR4AMC7R/Rlj1wK4FgDGj0884JYYGYjy+KAUgdFQPMvlgvuXo88XwsKWagBArTLQ+uRp9Snd35JEEI9Q+rcIyyXVTBcpHMlq9uQ72zsAyB804jkTeeg3LJmKG5ZMzfh5CCIVy6UKwPkAJgIYC8AOYPDk4ei+T+xBzpdyzhdwzhfU1dVls1Yiz4ypkH3qbm8QBl3xLBdR7r/tsDwEosZhTuv+VmP0tH7muuPV34WIpmq5CIZLlRyO17e0obnaGjN4gjoqEvkglbPqVAB7OOcdAMAYexbACQAqGWMGJUpvAnAof8skCoEo3uEcMCoRaTE7Lm46qAh6mp6ysFwsRh3mT6jG7y6Zq3rYQDSCT1XQ29x+9cMuE9rcfkypc2CcZhjHcNOHCCITUjmr9gE4jjFmg2y5LAGwBsDbAL4E4O8ArgTwQr4WSRSGpqpoaqBJWC5FTFvcdLAPAFDjSFPQFcE2K5H4BfNi3UARocf3ewHk1rZi6LSgPa4Vb7q4/SFMqrPHTFfKxsIhiGQMe1ZxzldD3vxcC2Cjcp+lAP4bwPcZYzsB1AB4JI/rJApAncbaEBG6VOAIXVuZunZfDwCgxp6e5SLy0M1JBgGLDUltnxgA+OvKvZh468vwKtG8sEXaNEOcM8GtFEeJvYCWNHLqCSIdUvrexzm/E8CdcYd3Azgmwc2JEkWbGig89EJbLl0JBlokapM7FE7FzjAmiYJF+mKPN1bQn//kIABg+c4unDazAU6zAf1+CYf7Mhd0zjncfgkuixFHNcn9W+46b1bGj0cQQ0Hf+4gY7v3yHDx4+Xw1E6TQJfJi0tC88dHmVenkoANQZ3Im29CNCnrsZue88VUAgLe3t8v3V74t/OHtnfjygysSPtaLGw7h8VWfJV2LNxhGOMLhshowpsKCvfecnXK2DkGkC+3MEDF8cX4TADkXHAB646LYfCMyXG7+wjSMrbRmZHcIQU/2YWQ16WEx6pK+tkPKPNKA5v4f7e1JeNvv/u0TAMAVx01IeL14PYnSFAki11CETiRE9BOJtyU+betHOMLzFrmrAmg1oqXWjmMn1aT9GMKi8Q+RQ19lM2Hpe7vx3qcd6jER0QuhH+r+qSJ8+nRtI4LIBIrQiYS4LEboGNCr2BLLtrThm39dA0Ce+tPa58ej31iIU3JsH7h92QtghaZAKhmicvPqxz7CjrvPirl9rzcIzvmg+4cjPGYEXiq4ffIGq4sEnSgAFKETCdHpGCqsRtVn/qOmp0mrskm4andXzp9XjWiz6DiYir1xWLFyGiuiqYRiA7jXF1Ibd11z4kSMVXLQ4z13Lcn6xrvJciEKCAk6kZQqm0m1XET3RS0inzuX9PlCYAxwmDL/8pjOh8HEWrv6u4jI+3wheJUc9cYKK245awYAuSdLMrSFS1rEBxRVhhKFgASdSEqlzahaLolSADs82RXcJEL0P083s0VLKnbN146XNzFNmlx14aFzHs22sRj1aqXqUILe708s6KIBWHxLX4LIByToRFKqbCb0DIgIPXqqPPDVo2E16tHuzo+gZ7uBmEq3wp+dPxvzxlfGbO5qPXNhyZgNOlRrBH13hyfhYAxPILGgiw+JZDnxBJFL6CwjklJpM6HXG8S3Hl+Dt7a1q8cXT63FwonV6OjProIyEe4cCLoo3a93Dl1hajXqY8r/tW0ORLqkxahXH+cfa/bj8/e+i7+uHJx3nixCF4JuSGBZEUSuIUEnklLrMKFzIIjXNrfFHHeYDKh3mtGWpwg9Ua/wdHnleyfi5e+dOORtbCa96pUDcoQu2gW09kYj9BqHGafOaFDb4CbaDI6P0Dnn2N/tVT8kTBShEwWAzjIiKXVOc8LUP52OocZuQvcQWR+Z0usLodKa/cSeGY0u1A7Tdjd+WHQwHMH4arnPyp5Oj3obALhg3tghH8sTF6H/c80BnPirt/HhHln8yXIhCgGdZURS6oawLOxmA4JSJOf90rs8wbS7K2aKduAEIEfoTVVWGPUMOzuEoMtvkenKcAxgcFMvAOiPO/b+zk4AwK6OATCGtPPXCSITSNCJpAwn6AAwkGQzMBNC4Qj6fKG0uytmSrzlEgpHYDHqMbbSqvZib1CGU7fURNMb93f7Bj1WvIcu/i4GHaPonCgYdKYRSal3Dh7qcKHSW1x0NEyW3ZEJPUpaYKEidIspNkIPhSMwGXRoVvrC1zrM6tAPbf/y1j4fOOcxxUS9vlj7SQi62x+CkaJzokCQoBNJqXfFRsotNTbcd8lcANoIPXc9XUS73NoCWi5BKYKwIsxBKQKjXqeK+NHjK2OGXWz52en4wWlHIBTm8AbDCEWidlN8oy8R+fd6QzAm6ctOELmGyteIpDjjxqRp0/rsZnmzMJcReteAnDVTXUDLBZCHRTvMBgTDHCaDDlctaoFOx3DB3HFxtzeoH3K9vhBcmurPeEEXlaNShJPlQhQMOtOIpDDG8J/vLsZd584EEDvswpEHD73LU1jLRcweFbnoQSkMk16HKfVO/PLCI3HMxOpB9xE58r3eYMwHXLzlovXUyXIhCgUJOjEkRzZV4Jw5csqeNqPFngcPXUwrqi1QhC5SEkXqYijME/as0VKhpFT2eUMxfw9RUSvo00TsZLkQhYIsF2JYqmwmHNVUgRs+P1U95siHoHsCMOhYTgqLUsGmNAATfndQ2RQdikql8VefLxSToy/6uAelCO59Y3vMtxkDRehEgSBBJ4ZFr2P493cXxxzLR9pilyeIarspZiMyn1hNsnj7QvKYuHAKfrdqufhCqmjXOc3o8Qaxo60f33riY+zuGIi5D3noRKEgQScyQmyK5lTQB4KoGaa6M5dYNB66sE9SjdB7NZZLvdOMzf0BnP3/PkhYWTvcYxJErqAzjcgIs0EPk14HTw7TFrsGAgVLWQSilosvJKnR9nA9V6xG+XVrLRfxIZRsQhJZLkShIEEnMsZu1ufFcikU0SyXCEJSahE6YwwuqxF9vqAaocend8Y/PlkuRKGgM43IGLvZkGNBDxSs7B/QCHoorEboqYivy2KA2y8hKMlpi8J+iqdByVknQScKBZ1pRMY4zAb050jQ/aEwBoLhguWgA9EpQr6gpE4WMqfgdzssBnj8UZvGniRCF31ghkuFJIhcQYJOZEwuI3RRaVllK4Kgh8Lq60gmzlqcFgM8AUm1aRzDCjq9zYjCQFkuRMbYzQb05agnuiiVT2Zf5ANhufzy5W3qsWTirMVhNqCz3ztshD6mggSdKCx0phEZ4zDrc1ZY5FWyZeymwsUYiXqUpxKhO8xGeAISDvbIbXRFM694xOg6slyIQjHs2csYmwbgac2hSQB+AqASwDUAOpTjt3HOX875CokRi8NsyFm3RRGh2woYoSfCkcLzOy0G9PtD2HyoD2NcFoxxDW4zDEDN2DFQhE4UiGEFnXO+HcBcAGCM6QEcBPAcgG8AuI9z/pu8rpAYsSTy0P+6ci/qHGaceWRjWo/lFZZLASP0RKQWocse+qZDbswa60qa6ijsG7JciEKR7pm2BMAuzvngsefEqMNhNsATlMC5nL63t3MAP3lhM657cm3ajyUi/UJ66IlIdVM0woGd7R5MaXAkFPQXrl8Eh9Je10SWC1Eg0hX0SwE8pbn8XcbYBsbYnxljVTlcF1EC2M0GcB5tbvWXFXsBAFPrHWk/lojQbcWO0FN4foemD3qVzZSwunROc6UaoZPlQhSKlM80xpgJwHkA/qkc+iOAyZDtmFYA9ya537WMsTWMsTUdHR2JbkKUKNoGXaFwBM99chBAtIFVOgwUYVM0EakMc9ZmwjjMhqSWi50sF6LApHOmnQlgLee8DQA4522c8zDnPALgYQDHJLoT53wp53wB53xBXV1d9ismRgwOzdSi7oFgtIVsOHFPk6EQEbrIDR/JODURutOSXNCdqqCT5UIUhnQE/SvQ2C2MMe2u14UANuVqUURpIKLpgUBYHRIBJG9SNRQDQXlaUCl0JtR+A3FaDEkbeglrhiJ0olCkdKYxxmwATgPwrObwrxhjGxljGwCcAuCmPKyPGMEIS8EblOBTBF2vY0kFvaM/gEseWonNh/oGXecNSEVJWVx92xK8e/PJad1H22/GaTEm/RCymQy49czpOPuo9DJ+CCJTUjIsOedeADVxx67Iy4qIksFilIXML0VgVnqhuCwGBJII+s9f3ILVe7qxbEs7Zo2tUI+/vb0dj60sTuJUQ5Ic8qHQ9ptxmJNH6ADwrZMmZ7QugsgEKv0nMsZsiM7kFE2tKqxGDAQTFxttOihH5mJSkOCNLW15XGVqPHPdCSltiAKxm6JOi4GyWIgRAwk6kTFqhK4RdJfViB5vKOHtpYicrx5fXZqs0rKQzJ+QetatdkSe05x+Rg9B5AsSdCJjRIQeCEXgN8gi7bIYk3rooqpUZLQI+v3yB8AjVy7I11LzhjYnXdBSYyvCSgiCBJ3IAjGT0y+FYQpFLZdgOIJbn92AhS3VuOjoJgAA5xz9flnI48fWuX0SGlxmLJnRUMDV54Z4m+Zv1xyLec1UY0cUBzL/iIzRWi4ibdFlNSAc4Xjqw/34/j/Wq7cNSBE1Pz0+Qnf7Q3BZSsu6EK1345lS7yiJXHqiPKEIncgYNUIPRWDSRy0XLX9duRdfO74Fbn/UV4/30N3+EFwZVJcWk3dvPhldA4N7wVcXcEAHQcRDETqRMUa9Dnodgz8Uhk+kLcYJ809e2AwAqt0CAMu2tuHxVdE0RbdPgiuBFz2SqXdZMKPRNeg4ZbwQxYTOPiIrLAYdAlJEtVycCYRZ658L7nh+E/q8Idz90hZ09AdKLkIniJFIaYVFxIjDYtTDHwrDoGcwG3QJhyz7QxE1k8Vu0qt56vct+1Tt0Jjog6DUKIW2BUR5U/rvIqKoyIIegUEXhsWoTyhq/YGQGqErqegAgIO9PvX3UtsUjWfTT08HteAiig0JOpEVZqMOfikMg47BatTDpB+c4dHvl+BWOjFKkWiOuqgcBYCmqtLO3U5luDRB5Bs6C4mssBj0CIRkQbcYE3dLfHF9Kx75YDdsJj10jCEUlqP11j6/epsFLZS7TRDZQqYfkRUWow7+kLwpmsxyuW/Zp3D7JUyosePnF8xK2B98Sl36U44IgoiFInQiK8SmqF7HYDbqh+w8eNS4Clw4rwkXzmtCyy0vAQB+et4sjK+2QZdiYyyCIJJDgk5khcWoh9sfgsmgg1mvU6PvGY0uzGmqwN8/2g8AeOqa43BkU8Wg+39xfhP5zwSRI8hyIbJCWC6hcAQGPYNfKTCqshlxy5nT1dsdP7kmRrgfuXIBrl48kcScIHIIvZuIrDAb9AhIYQTDBthMOrW/y7QxziHFesmMhpJsxkUQIxkSdCIrTHodQhJHSIrAqNdhQUs1ll4xHydPq4dBaQ1wzYmTir1MghgVkKATWWE0MATDEUiRCEwG2T//wqwx6vW7fnlWsZZGEKMO8tCJrDDp9QhJEYTCHAYdnU4EUUzoHUhkhdHAEAhHEFQsF4Igige9A4msMOl1CIXlLBdhuRAEURxI0ImsMOl14BzwhcIUoRNEkaF3IJEVRqXU3xsMk4dOEEWG3oFEVohS/3CEw0iWC0EUFRJ0IiuMmmZcQ/VxIQgi/9A7kMgKs0bEyUMniOJC70AiK7Q2iyFBW1yCIAoHCTqRFdqonCwXgiguw74DGWPTGGPrNP/cjLEbGWPVjLE3GGM7lJ80cmYUYiLLhSBGDMO+Aznn2znncznncwHMB+AF8ByAWwC8yTmfCuBN5TIxytBuipKgE0RxSfcduATALs75ZwDOB/CYcvwxABfkcmFEaaDdFCUPnSCKS7qCfimAp5TfGzjnrQCg/KxPdAfG2LWMsTWMsTUdHR2Zr5QYkVDaIkGMHFJ+BzLGTADOA/DPdJ6Ac76Uc76Ac76grq4u3fURIxzy0Ali5JDOO/BMAGs5523K5TbGWCMAKD/bc704YuRjjBF0slwIopikI+hfQdRuAYB/A7hS+f1KAC/kalFE6aDtsEgROkEUl5TegYwxG4DTADyrOXwPgNMYYzuU6+7J/fKIkY5Jr1d/J0EniOKS0gg6zrkXQE3csS7IWS/EKMYYE6GT5UIQxYRCKiIrYjZFDXQ6EUQxoXcgkRUxhUXUD50gigq9A4msiI3QyXIhiGJCgk5khVbQaWIRQRSXlDZFCSIZOh3Dj8+egQM9PrTU2Iq9HIIY1ZCgE1nzzRMnFXsJBEGALBeCIIiygQSdIAiiTCBBJwiCKBNI0AmCIMoEEnSCIIgygQSdIAiiTCBBJwiCKBNI0AmCIMoExjkv3JMx1gHgs4I9Ye6oBdBZ7EUUkNH2egF6zaOFUn3NEzjnw87wLKiglyqMsTWc8wXFXkehGG2vF6DXPFoo99dMlgtBEESZQIJOEARRJpCgp8bSYi+gwIy21wvQax4tlPVrJg+dIAiiTKAInSAIokwgQU8DxtgPGWOcMVZb7LXkG8bYrxlj2xhjGxhjzzHGKou9pnzBGDuDMbadMRVx/TYAAAJqSURBVLaTMXZLsdeTbxhjzYyxtxljWxljmxlj3yv2mgoBY0zPGPuEMfZisdeSL0jQU4Qx1gzgNAD7ir2WAvEGgNmc86MAfArg1iKvJy8wxvQA7gdwJoCZAL7CGJtZ3FXlHQnADzjnMwAcB+D6UfCaAeB7ALYWexH5hAQ9de4D8CMAo2LTgXP+OudcUi6uAtBUzPXkkWMA7OSc7+acBwH8HcD5RV5TXuGct3LO1yq/90MWuXHFXVV+YYw1ATgbwJ+KvZZ8QoKeAoyx8wAc5JyvL/ZaisRVAF4p9iLyxDgA+zWXD6DMxU0LY6wFwDwAq4u7krzzO8gBWaTYC8knNFNUgTG2DMCYBFfdDuA2AF8o7Iryz1CvmXP+gnKb2yF/RX+ykGsrICzBsVHxLYwx5gDwDIAbOefuYq8nXzDGzgHQzjn/mDF2crHXk09I0BU456cmOs4YOxLARADrGWOAbD2sZYwdwzk/XMAl5pxkr1nAGLsSwDkAlvDyzW89AKBZc7kJwKEiraVgMMaMkMX8Sc75s8VeT55ZBOA8xthZACwAXIyxJzjnlxd5XTmH8tDThDG2F8ACznkpNvhJGcbYGQB+C+AkznlHsdeTLxhjBsibvksAHATwEYDLOOebi7qwPMLkyOQxAN2c8xuLvZ5CokToP+Scn1PsteQD8tCJZPwBgBPAG4yxdYyxB4u9oHygbPx+F8BrkDcH/1HOYq6wCMAVAD6v/N+uU6JXosShCJ0gCKJMoAidIAiiTCBBJwiCKBNI0AmCIMoEEnSCIIgygQSdIAiiTCBBJwiCKBNI0AmCIMoEEnSCIIgy4f8D68ERRTRl4dcAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "start = datetime.datetime(2015, 1, 1)\n",
    "end = datetime.datetime(2016, 11, 20)\n",
    "df = web.DataReader(\"XOM\", \"yahoo\", start, end)\n",
    "df = df[['Open',  'High',  'Low',  'Close', 'Volume']]\n",
    "\n",
    "Y = np.array(df['Close'])\n",
    "X = np.linspace(-5, 5, len(Y))\n",
    "\n",
    "plt.plot(X, Y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fcfdf4ab2b0>]"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.neural_network import MLPRegressor\n",
    "X = X.reshape(-1, 1)\n",
    "Y = Y.reshape(-1)\n",
    "mlp = MLPRegressor(hidden_layer_sizes=[500,500,500], max_iter=10000)\n",
    "mlp.fit(X, Y)\n",
    "pred = mlp.predict(X)\n",
    "\n",
    "plt.plot(X, pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fcfdf40e908>]"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "try:\n",
    "    from uc.mlp import MLP\n",
    "except:\n",
    "    !pip install uc\n",
    "    from uc.mlp import MLP\n",
    "    \n",
    "# 3 hidden layers of size 8\n",
    "mlp = MLP(layer_size=[1, 8, 8, 8, 1], rate_init=0.01, \n",
    "    output_range=None,\n",
    "    activation=\"a2m2l\",\n",
    "    leaky=-0.2,\n",
    "    loss_type=\"mse\", epoch_train=16000, epoch_decay=800, verbose=0\n",
    ")\n",
    "mlp.fit(X, Y)\n",
    "pred = mlp.predict(X)\n",
    "\n",
    "plt.plot(X, pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
